from sqlalchemy import Column, Integer, String, DateTime, ForeignKey, func
from server import Base


# 创建比分表
class ScoreModel(Base):
    __tablename__ = "score"

    # 用户 ID, 用户的唯 一标识
    id = Column(Integer, primary_key=True)
    # 选手1
    player1_id = Column(Integer, ForeignKey('player.id'))
    # 选手2
    player2_id = Column(Integer, ForeignKey('player.id'))
    # 选手1胜利 场次 1 2
    score1 = Column(Integer)
    # 选手2胜利 场次 1 2
    score2 = Column(Integer)
    # 分组id
    group_id = Column(Integer, ForeignKey('group.id'))
    # 创建时间,不需要手动传入，在写入记录的时候自动生成
    create_time = Column(DateTime, default=func.now())

    def __repr__(self):
        # 数据库的 魔法方法 直观展示数据
        '''[<User "xxxx">,<User "yyyy">]'''
        return '<Plan %r>' % self.name

    def as_dict(self):
        return {
            "id": self.id,
            "player1_id": self.player1_id,
            "player2_id": self.player2_id,
            "score1": self.score1,
            "score2": self.score2,
            "create_time": str(self.create_time)
        }
